using System;
using System.Collections.Generic;
using System.Text;

namespace MakeIT.Alf.Site.Entidades
{
	public class ImovelxareacomumVO
	{
		// Impedir o uso de new para esta classe
		protected ImovelxareacomumVO() { }

		// Cria uma instancia desta classe
		public static ImovelxareacomumVO CreateVO()
		{
			ImovelxareacomumVO imovelxareacomum = new ImovelxareacomumVO();
			imovelxareacomum.idImovelVO = ImovelVO.CreateVO();
			imovelxareacomum.idAreaComumVO = AreacomumVO.CreateVO();
			return imovelxareacomum;
		}
		public static ImovelxareacomumVO CreateVO(string obs, int imovelxareacomum)
		{
			ImovelxareacomumVO obj = CreateVO();
			obj.obs = obs;
			obj.imovelxareacomum = imovelxareacomum;
			return obj;
		}
		// Descrição amigavel do conteudo deste objeto
		public override string ToString()
		{
			return (obs!=null?obs.ToString():"") + "-" + (imovelxareacomum!=null?imovelxareacomum.ToString():"");
		}
		// Retorna PK concatenada com ";"
		public string PKString
		{
			get { return imovelxareacomum.ToString(); }
		}

		#region MEMBROS DA CLASSE
		public int idImovel
		{
			get { return this._idImovel; }
			set { this._idImovel = value; 
			      if(value!=null) this.idImovelVO.idImovel = (int)value; }
		}
		private int _idImovel;
		public int idAreaComum
		{
			get { return this._idAreaComum; }
			set { this._idAreaComum = value; 
			      if(value!=null) this.idAreaComumVO.idAreaComum = (int)value; }
		}
		private int _idAreaComum;
		public string obs
		{
			get { return this._obs; }
			set { this._obs = value; }
		}
		private string _obs;
		public int imovelxareacomum
		{
			get { return this._imovelxareacomum; }
			set { this._imovelxareacomum = value; }
		}
		private int _imovelxareacomum;
		public DateTime cadastro
		{
			get { return this._Cadastro; }
			set { this._Cadastro = value; }
		}
		private DateTime _Cadastro;
		public string cadastradoPor
		{
			get { return this._CadastradoPor; }
			set { this._CadastradoPor = value; }
		}
		private string _CadastradoPor;
		public DateTime edicao
		{
			get { return this._Edicao; }
			set { this._Edicao = value; }
		}
		private DateTime _Edicao;
		public string editadoPor
		{
			get { return this._EditadoPor; }
			set { this._EditadoPor = value; }
		}
		private string _EditadoPor;
		public ImovelVO idImovelVO
		{
			get { return this._idImovelVO; }
			set { this._idImovelVO = value; }
		}
		private ImovelVO _idImovelVO;
		public AreacomumVO idAreaComumVO
		{
			get { return this._idAreaComumVO; }
			set { this._idAreaComumVO = value; }
		}
		private AreacomumVO _idAreaComumVO;
		#endregion
	}
}
